/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.agi.devsol.aplicacao.comum;

/**
 *
 * @author rgrosz
 */
public abstract class WebAction<T> {
    private EditorEntidade<T> editor;
    private ConfirmadorExclusaoEntidade<T> confirmador;
    private T entidade;
    
    public ConfirmadorExclusaoEntidade<T> getConfirmador() {
        return confirmador;
    }

    public void setConfirmador(ConfirmadorExclusaoEntidade<T> confirmador) {
        this.confirmador = confirmador;
    }

    public EditorEntidade<T> getEditor() {
        return editor;
    }

    public void setEditor(EditorEntidade<T> editor) {
        this.editor = editor;
    }
    
    public T getEntidade() {
        return entidade;
    }

    public void setEntidade(T entidade) {
        this.entidade = entidade;
    }
    
    public String editar(){
        this.editor.editar(this.entidade);
        return editarAction();        
    }
    
    public String excluir(){
        this.confirmador.confirmarExclusao(this.entidade);
        return excluirAction();        
    }
    
    
    public abstract String editarAction();
    public abstract String excluirAction();
        
    
    
}
